package student.aistar.service;


import student.aistar.model.dto.ProductInfoDTO;
import student.aistar.model.entity.*;

import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 本类用来演示:
 *
 * @author: qinFeng
 * @date: 2021/9/27 10:05
 */
public interface IProductService {
    /**
     * 根据Id查询相对应的商品
     * @return
     */
    Product findById(Integer id);


    /**
     * 查询多个商品(商品Id, 通过字符串拼接)
     * @param productIds
     * @return
     */
    List<Product> getMoreProByStr(String productIds);

    //根据评论id查询所有信息
    Evaluate getByproductId(Integer productId);

    /*
     *功能描述:查询所有分类
     * @date 2021/10/1
     * @param
     * @return java.util.List<student.aistar.model.entity.Category>
     */
    List<Category> getAllCategory();

    /*
     *功能描述:查询所有商品
     * @date 2021/10/1
     * @param
     * @return java.util.List<student.aistar.model.entity.Product>
     */
    List<Product> getAllProduct();

    /*
     *功能描述: 多条件查询
     * @date 2021/10/1
     * @param name 商品名称
     * @param categoryId 分类id
     * @param pageNum 当前页
     * @param pageSize 每页显示条数
     * @return com.github.pagehelper.PageInfo<student.aistar.model.entity.Product>
     */
    PageInfo<Product> getProduct(String productName,Integer categoryId,Integer pageNum,Integer pageSize);



    ProductInfoDTO productInfo(Integer id);


    void addSuccessTip(User user, Integer productId, String para, String proName, Double paraPrice);

    // 根据产品id查询产品概述信息
    List<Overviewpage> selectOverViewPageByProductId(Integer productId);
}
